import React, { useState } from 'react'

// 写到外面
let timer = null
export default function App() {
  const [count, setCount] = useState(10)
  const startTime = () => {
    // 每次清除上一次的定时器，能保证无论点击按钮多少次，只开启了一个定时器
    clearInterval(timer)
    timer = setInterval(() => {
      // count => 上一次的 count，并没有产生闭包
      setCount((count) => {
        // debugger
        return count - 1
      })
    }, 1000)
  }
  return (
    <div>
      <h3>{count}</h3>
      <button onClick={startTime}>倒计时</button>
    </div>
  )
}
